Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Agentes Inteligentes: El siguiente pasó en la inteligencia artificial (página 2)



Partes: 1, 2, 3

En [Iglesias, 98] se define la Inteligencia
Artificial Distribuida (IAD) como "aquella parte de la IA
que se centra en comportamientos inteligentes colectivos que son
producto de la
cooperación de diversos agentes".
Estos agentes, son
las entidades que colaboran.

La descripción de un sistema desde el
punto de vista de la IAD, puede hacerse de acuerdo a dos
elementos fundamentales [Dem, 90]. El primero se concentra en las
componentes fundamentales del sistema como una composición
de estos, o sea como la sociedad en
que viven nuestros agentes (IAD clásica).

Monografias.com

Fig. 1 Modelo de
casos de uso para el SBC-ED

3. ¿Que es
un agente?

Monografias.com

Figura 2. Visión esquemática de un Agente
Inteligente

Varios investigadores y grupos de
investigación han definido el
término de agente desde diferentes puntos de vista, esto
ha influido a que en la actualidad existan diferentes
definiciones de lo que es un agente.

La dificultad se debe especialmente a que los agentes se
pueden emplear en muchos dominios de aplicación, llevando
consigo a que cada dominio asocie
varios y diferentes atributos a la definición de agente.
Por lo tanto es conveniente dar una corta definición de
agente que no involucre las características que debe tener
un agente inteligente. Un agente es un sistema que esta en
algún ambiente y que
es capaz de tomar acciones
autónomas de acuerdo al estado del
ambiente para cumplir sus objetivos de
diseño.
Lo anterior no quiere decir que el agente tenga dominio completo
del ambiente, por el contrario en la mayoría de
situaciones este es muy complejo y el agente solo tendrá
un control parcial
de este. Así mismo puede suceder que para un estado del
ambiente muy similar, dos acciones diferentes tomadas por el
agente produzcan efectos heterogéneos en el ambiente.

4.
¿Cómo se caracteriza un agente?

Un agente va a venir caracterizado por una serie de
calificativos, los cuales vienen a denotar ciertas propiedades a
cumplir por el agente. Esto nos lleva a plantear otra
definición bastante aceptada de agente donde se emplean
tres calificativos que, según, el autor se consideran
básicos. Esta definición ve a un agente como un
sistema de computación capaz de actuar de forma
autónoma y flexible en un entorno [Wooldridge1995],
entendiendo por flexible que sea:

Reactivo, el agente es capaz de responder a cambios en
el entorno en que se encuentra situado.

Pro-activo, a su vez el agente debe ser capaz de
intentar cumplir sus propios planes u objetivos.

Social, debe de poder
comunicarse con otros agentes mediante algún tipo de
lenguaje de
comunicación de agentes.

Como vemos en este caso, hemos identificado una serie de
características o apellidos que de por sí debe
tener un agente.

Atendiendo a esta idea, para poder asociar a una herramienta
el término «agente» debe ser capaz de cumplir
los requerimientos anteriormente expuestos. Actualmente, un
pequeño porcentaje del SW de propósito general
existente se adapta a dicha definición. Apliquemos estas
características a nuestro agente de información de ejemplo:
¿sería reactivo?

Podemos pensar que sí a juzgar por el hecho de que el
agente debería reaccionar frente a los mandatos que le
indicamos, además debe poder reaccionar frente a posible
eventos que le
lleguen de la red. ¿Sería
pro-activo?, evidentemente que sí, nuestro agente
debería autoplantearse su curso de acción
para poder realizar todas sus tareas adelantándose a las
peticiones de su usuario. Por último debemos pensar si
nuestro agente sería social. Esta característica
desde nuestro punto de vista no sería básica en una
definición general de agente, no obstante, sí que
podemos claramente identificar una conducta social
en nuestro ejemplo si observamos que debería poder
comunicarse con infinidad de recursos en la
red y, por qué no, con otros agentes existentes en la
misma.

Pero, en definitiva, ¿cuáles son las
características básicas y de qué mas
características disponemos para poder calificar a un
agente?. Revisemos a algunas de las características que en
la literatura se
suelen atribuir a los agentes en mayor o menor grado para
resolver problemas
particulares y que han sido descritos por autores tales como
Franklin y Graesser [Franklin1996], y Nwana [Nwana1996],
éstas son:

Continuidad Temporal: se considera un agente un
proceso sin
fin, ejecutándose continuamente y desarrollando su
función.

Autonomía: un agente es completamente
autónomo si es capaz de actuar basándose en su
experiencia. El agente es capaz de adaptarse aunque el entorno
cambie severamente. Por otra parte, una definición menos
estricta de autonomía sería cuando el agente
percibe el entorno.

Sociabilidad: este atributo permite a un agente
comunicar con otros agentes o incluso con otras entidades.

Racionalidad: el agente siempre realiza «lo
correcto» a partir de los datos que percibe
del entorno.

Reactividad: un agente actúa como resultado de
cambios en su entorno. En este caso, un agente percibe el entorno
y esos cambios dirigen el comportamiento
del agente.

Pro-actividad: un agente es pro-activo cuando es capaz
de controlar sus propios objetivos a pesar de cambios en el
entorno.

Adaptatividad: está relacionado con el aprendizaje
que un agente es capaz de realizar y si puede cambiar su
comportamiento basándose en ese aprendizaje.

Movilidad: capacidad de un agente de trasladarse a
través de una red telemática.

Veracidad: asunción de que un agente no comunica
información falsa a propósito.

Benevolencia: asunción de que un agente
está dispuesto a ayudar a otros agentes si esto no entra
en conflicto con
sus propios objetivos.

No existe un consenso sobre el grado de importancia de cada
una de estas propiedades para un agente. Sin embargo, se puede
afirmar que estas propiedades son las que distinguen a los
agentes de meros programas.
Según hemos visto en la definición de Wooldridge,
las características de autonomía, reactividad,
pro-actividad y sociabilidad son las caracte-rísticas
básicas. Podríamos encontrar otras definiciones
donde varían ligeramente las características a
aplicar a un agente básico.

Monografias.com

Figura 3. Navaja suiza de Parunak representando los
conceptos que puede integrar un agente

Tal como indica el Dr. H. Van Dyke Parunak en su trabajo
[Parunak1999], un agente es como una navaja del ejército
suizo en el que se puede ver la definición básica
como sólo la navaja y en el que si se necesita
algún accesorio más se le añade y, si no se
necesita, no hay necesidad de acarrear con

todos los accesorios (figura 3).

Entonces:

Un Agente puede definirse como una entidad, semi o
completamente autónoma, la cual actúa racionalmente
de acuerdo a sus percepciones del exterior y el estado de
su conocimiento.

Desde un punto de vista estructural, y de acuerdo a [Ber, 92]
, el agente puede dividirse en dos partes principales. La primera
está relacionada con el
conocimiento que el agente posee acerca del mundo exterior,
las habilidades de otros agentes y las suyas propias, así
como sus tópicos de interés;
el segundo aspecto abarca el procesamiento dinámico que el
agente realiza de los mensajes y que definirá su actividad
de razonamiento ante problemas e informaciones nuevas. Por esto
se basa en un lenguaje de comunicación externo, para
interactuar con otros agentes, uno interno, para la
comunicación entre sus propias componentes, y un
conjunto de métodos
que permite el procesamiento de estos mensajes.

5. La sociedad de
agentes

Está organizada como una red en la cual los nodos
representan dichas entidades, y los enlaces los puentes de
intercambio de información entre los mismos. A partir de
la
organización de los enlaces, el intercambio de
información puede hacerse o bien directamente, o bien
indirectamente a través de un intermediario.

A partir del control esbozado en el párrafo
anterior, se puede decir que existen dos tipos fundamentales de
sociedades en
la Inteligencia
Artificial Distribuida: la centralizada y la descentralizada.

5.1. Sistemas Multi
Agente

Los Sistemas MultiAgente se preocupan por coordinar la
conducta inteligente de agentes autónomos. Estos agentes
hacen parte de una colección y pueden coordinar su
conocimiento, objetivos, habilidades y planes juntamente para
tomar una acción o resolver una meta global, al igual que
los DPS estos pueden tener conocimiento parcial sobre el problema
y las soluciones. En
estos sistemas debe haber un proceso de racionalización
para la coordinación del conjunto de agentes [BOND
1988].

Por lo general en estos sistemas MA los agentes con sus
creencias, deseos e intenciones construyen el problema y el
plan o
secuencia de acciones para solucionarlo.

 

5.2 Planeación

El proceso de generación de un plan es llamado
planeación, como ya se vio los planes en la IA son vistos
como una secuencia de acciones de un agente, de tal manera que es
capaz de cambiar su entorno y lograr uno o más
objetivos.

Las entradas esenciales para un proceso de planeación
son: estado inicial del mundo y el conjunto de las posibles
acciones, el agente pude cambiar el mundo o ambiente con sus
acciones. Una buena planeación solo seria efectiva en
entornos altamente predecibles, mientras que en dominios
caóticos es poco efectiva, en este caso el agente solo
podría reaccionar ante eventos y percepciones.

Los métodos de planeación para DPS y sistemas MA
son diferentes, la planeación para múltiples
agentes se utiliza en DPS, mientras que los métodos para
planeación distribuida se aplican a los sistemas MA.

Como se vera en las siguientes secciones, en los sistemas DPS
un plan debe ser resulto por los agentes, mientras que en los
sistemas multiagente se debe generar y ejecutar un plan por los
agentes

5.2.1 Planeación para múltiples
agentes

La planeación para múltiples agentes puede ser
considerada como un problema distribuido que los agentes tiene
que resolver. Cuando se construye este problema distribuido se
tienen que hacer algunas suposiciones de las principales
propiedades de sus elementos [LUBO 2002].

Existen dos métodos de colaboración entre
agentes cuando se soluciona un problema distribuido, la
colaboración esta basada en la repartición de
tareas y en compartir resultados.

5.2.3 Repartición de tareas

Se basa en la descomposición y repartición de
tareas y la habilidad de los agentes para trabajar en paralelo.
El método se
basa en la descomposición de subtareas a cargo de un
agente cuando este se ve sobrecargado por una tarea, la
asignación de las subtareas resultantes se hace a los
agentes del sistema que tengan las habilidades que se necesiten
para resolverla. Una subtarea puede ser dividida y asignada
recursivamente si es necesario. Cuando se termine la subtarea(s)
el resultado es devuelto a un agente que crea la solución
final del problema, generalmente este agente es el que descompuso
el problema, ya que es muy probable que este sepa sintetizar los
resultados.

La repartición de tareas se puede hacer en diferentes
tipos de sistemas según las capacidades de los
agentes:

En sistemas homogéneos la repartición de tareas
es sencilla ya que los agentes cuentan con las mismas
capacidades. En este caso las subtareas pueden ser asignadas
aleatoriamente a los agentes inactivos del sistema.

En sistemas homogéneos la repartición de tareas
exige mecanismos más complejos ya que los agentes poseen
diferentes habilidades. En este caso cada subtarea debe ser
asignada a un gente que tenga las capacidades adecuadas para
resolverla, esto conlleva a que el agente que descompone el
problema debe guardar información sobre las habilidades de
cada uno de los agentes del sistema.

5.2.4 Compartir resultados

Los agentes con capacidades, conocimiento y representaciones
del entorno diferentes pueden llegar a diferentes resultados al
ejecutar una misma tarea, de esta manera se busca que estos
resultados se compartan de forma que los agentes cooperen para
encontrar la solución global del problema. Al basarse en
las diferentes soluciones de los agentes, se pueden obtener los
siguientes beneficios:

Mayor confianza, debido a que si muchos agentes producen la
misma solución para un problema determinado, incrementa la
probabilidad
de que el resultado sea correcto.

Mayor integración, ya que cada agente comparte
con otros los resultados de todas las tareas que se han
completado, de esta manera el grupo de
agentes puede completar la solución global de la
tarea.

Mayor Precisión, teniendo una mayor visión sobre
el conjunto de tareas, se permite a los agentes refinar cada uno
de los resultados.

Mayor Puntualidad, el intercambio de resultados permite a los
agentes trabajar en paralelo, minimizando el tiempo gastado
en la solución de un mismo problema por muchos
agentes.

5.3 Planeación Distribuida

En la planeación distribuida, las tareas y resultados
de esta, pueden ser fuente de distribución en un sistema MA, es decir el
proceso de planeación es distribuido entre muchos agentes.
El resultado de este proceso de planeación (el cual es un
plan) se distribuye y es ejecutado por varios agentes, a esto se
le conoce con el nombre de plan distribuido.

Los agentes pueden participan en la creación de un plan
distribuido, actuar tras un plan distribuido o participar de las
dos maneras. A continuación se presentaran técnicas
para planeación distribuida.

5.3.1 Planeación centralizada para planes
distribuidos

En la planeación centralizada un solo agente debe crear
un plan. Este plan tiene que ser distribuido entre los agentes
del sistema. El agente que genero el plan o
un agente coordinador divide el plan en hilos que pueden ser
ejecutados en paralelo. Los hilos son distribuidos entre los
agentes utilizando técnicas de asignación de tareas
y cada agente actúa sobre el subplan que recibe.

5.3.2 Planeación distribuida para planes
centralizados

La planificación distribuida puede existir
incluso cuando el plan resultante es ejecutado por un solo
agente, la distribución se hace necesaria cuando no hay la
suficiente capacidad o conocimiento del agente para hacer el plan
y por lo tanto debe buscar cooperación con otros agentes
especialistas en planeación.

En este tipo de planeación el problema es descompuesto
y distribuido entre los agentes especialistas de
planeación usando alguna técnica de
repartición de tareas. La coordinación se puede
lograr mediante los siguientes métodos: [LUBO 2002]

Intercambio de un plan parcial especializado en el cual un
planificador modifica y expande un plan parcial de acuerdo con
sus objetivos.

Combinación de resultados en el cual los planificadores
generan planes parciales en paralelo e intentan integrarlos para
formar un plan general.

5.3.3 Planeación distribuida para planes
distribuidos

Es la forma más compleja de planeación
distribuida, en este método tanto la planeación
como la ejecución de los planes son distribuidos.

En los sistemas MA este es el caso más general de
planeación, como cada agente esta generando su plan, puede
suceder que los agentes no sean consientes de la conducta de los
otros agentes, debido a esto es imposible e innecesario probar un
plan multiagente completo que comprenda todas las acciones que
tomen los agentes del sistema. La mejor forma para que cada uno
de los agentes respete los planes de los otros, es tener una
buena cooperación entre ellos. [LUBO 2002]

Un agente puede ser clasificado por su rol o papel en una
sociedad de agentes (SMA al que pertenece), por su especialidad o
actividad en la que es experto, por sus objetivos o metas en el
SMA, por su funcionalidad o lo que es capaz de hacer, por sus
creencias, por su capacidad de comunicación y por su
capacidad de aprendizaje [Lab93].

6. Agentes
Cognitivos y Reactivos

Un AGENTE COGNITIVO es aquel que es capaz de efectuar operaciones
complejas, es individualmente inteligente (es un sistema
más o menos experto, con capacidad de razonamiento sobre
su base de conocimiento), puede comunicarse con los demás
agentes y llegar a un acuerdo con todos o algunos de ellos, sobre
alguna decisión. Un sistema cognitivo está
compuesto por un pequeño número de agentes
cognitivos.

Un AGENTE REACTIVO es un agente de bajo nivel, que no dispone
de un protocolo ni de
un lenguaje de comunicación y cuya única capacidad
es responder a estímulos. Los agentes reactivos no son
individualmente inteligentes, sino globalmente inteligentes. Los
sistemas reactivos por lo general están compuestos por un
gran número de agentes reactivos que realizan acciones
entre todos, para esto es necesario tener en cuenta nuevas
teorías
de cooperación y comunicación que permitan el
desempeño de estas acciones (Figura 3).

Es posible concebir sistemas heterogéneos cuyo
comportamiento se derive de los dos tipos de agentes y tenga
características de ambos. Es decir, es posible dotar a los
agentes cognitivos de capacidades de reacción a los
eventos, a tales agentes se les puede llamar AGENTES
HÍBRIDOS. [Lab93].

Sistemas Cognitivos

Sistemas Reactivos

Representación explícita del ambiente

No tiene

Pueden tener conocimiento del pasado

No tienen memoria

Agentes complejos

Funcionamiento estímulo/respuesta

Pocos agentes

Muchos agentes

 

 

Figura 4. Clasificación de sistemas de
agentes

7.
Características de un Agente Cognitivo

Los avances en los trabajos de IAD en SMA permitieron definir
las siguientes características [Lab93] : .

A). Intencionalidad: Un agente cognitivo es guiado por
sus metas, las cuales describen las situaciones que son deseables
para el agente. Una intención es la declaración
explícita de sus metas y medios para
llegar a ellas, y los planes se pueden definir como secuencia de
acciones que lleven a un agente a obtener su meta.

b). Racionalidad: Un agente cognitivo posee criterios
de evaluación
de acciones y de selección,
de tal manera que lo que decida sea en beneficio de él
(adquirir más conocimiento, obtener respuestas, etc.).
Además, es capaz de justificar sus decisiones.

1. La base de conocimiento es un conjunto de
representaciones de hechos del mundo. [Rus et al95]. 2.
Globalmente inteligentes: Solo en grupo pueden resolver un
problema.

c). Compromiso: Un agente cognitivo cooperativo3
planifica sus acciones por coordinación y negociación con los otros agentes. Los
agentes que participan en la coordinación de actividades
obran bajo el supuesto de que en condiciones normales, cada uno
de los participantes cumplirá con el plan con el que se
comprometió.

d). Adaptabilidad: Un agente cognitivo es capaz de
controlar sus aptitudes y comportamiento de acuerdo al rol que
asuma en un sistema.

e). Inteligente: Un agente cognitivo es inteligente si
es racional, intencional y adaptable. Un agente inteligente debe
ser capaz de operar exitosamente en varios ambientes, si se toma
el suficiente tiempo para adaptarse [Rus et al95].

8. Arquitectura de
un Agente Cognitivo

La estructura
interna de un agente cognitivo se puede clasificar de manera
general así:

Monografias.com

Figura 5. Arquitectura de
un agente cognitivo
.

8.1 Funcionalidad

Es el conjunto de funciones o
tareas que el agente sabe hacer y que los demás agentes
pueden conocer que él hace [Lab93]. Dentro de estas
funciones pueden estar las funciones de comunicación con
otros agentes, de selección de agentes para una tarea
específica, de obtener información del sistema, de
información del estado interno del agente, etc.8.2
Creencias

Son el conocimiento subjetivo o conjunto de
opiniones que el agente tiene de él mismo y de los
demás agentes [Lab93]. Puede comenzar como una
opinión o conocimiento inicial y cambiar con las acciones
y desempeño de cada uno de los agentes, incluido él
mismo, cuando el sistema esté en funcionamiento.8.3
Conocimiento

Es el conocimiento que cada agente tiene y que
usa para la resolución de un problema [Lab93], es decir,
es la representación de lo que sabe y del conocimiento que
ha adquirido en experiencias pasadas y que le sirve para hallar
soluciones o seleccionar acciones a seguir en cualquier momento.
El conocimiento le permite al agente entender el mundo, lo que
los demás agentes tratan de decirle y sus razonamientos
internos y explicar sus ideas y decisiones a los demás
agentes.Hay tres clases de conocimiento importantes a tener en
cuenta:

8.3.1 Conocimiento Inicial: Es el conocimiento propio o
básico del agente una vez éste existe, y no puede
cambiar con el tiempo. [Sin93]

8.3.1.1 Know-That: Es el conocimiento de hechos o saber
qué hacer ante un problema o un conjunto de acciones
[Sin93]. Este tipo de conocimiento puede cambiar con el tiempo y
la experiencia adquirida por el agente.

8.3.1.2 Know-How: Es el conocimiento de cómo
actuar o cómo hacer las cosas. Es decir, es la habilidad
para ejecutar acciones convenientes (dependiendo de la
solución del problema) en un mundo cambiante. Más
concretamente se puede definir como la habilidad o potencial de
un agente para tomar una acción efectiva, y las destrezas
que él demuestra cuando hace cosas que le atribuyen
inteligencia. Al igual que el Know-That este tipo de conocimiento
puede cambiar con el tiempo y la experiencia adquirida por el
agente.

Se puede decir que:"Un agente conoce cómo alcanzar p al
realizar la acción a, si el agente tiene el know-that que
le indica que ejecutar a lo lleva a alcanzar p". Además,
"Un agente conoce cómo ejecutar a, si el agente tiene el
know-how que le indica cómo ejecutar a". [Sin93]

8.4 Control El control en un agente está
representado por la estructura local de metas que el agente
tiene. Para un manejo más efectivo de estas estructuras se
adicionan los conceptos de intenciones, planes y acciones que el
agente tiene.

3. Un agente es llamado cooperativo, si pertenece a un
sistema de agentes que resuelve tareas de manera cooperativa.

8.4.1 Metas: Las metas, son el conjunto de estados
deseables en el ambiente en el que se desenvuelve un agente. Un
agente puede decidir alcanzar o no cada una de tales metas de
acuerdo a las ventajas que esta represente. En un SMA hay una
meta global o principal que debe ser alcanzada con la
colaboración de todos los agentes del sistema. Esta meta
global puede ser dividida en submetas, las cuales son asignadas
como metas a los agentes del sistema, de acuerdo a alguna
política
organizacional. Los planes que desarrolle cada agente para
alcanzar estas submetas, pueden ser combinados para alcanzar
la meta
global. Es decir, los planes que desarrolle un agente para
alcanzar sus metas, contribuirán a alcanzar las metas
globales del sistema. [Eph et al95]

8.4.2 Plan: Es un conjunto de estrategias para
resolver un problema o alcanzar una meta [Sin93]. Como se dijo en
la descripción de Metas, la meta global puede ser dividida
en submetas, las cuales son asignadas como metas a los agentes
del sistema. Los planes que desarrolla cada agente para alcanzar
su propia meta, pueden ser combinados para desarrollar un plan
global que sirve para alcanzar la meta global [Eph et al95]. Se
puede decir que: "Un agente sabe cómo alcanzar a p
sólo si él conoce que algún plan P contempla
a p, y él es capaz de ejecutarlo." [Sin93]

Los planes son una de las plataformas para el desarrollo de
mecanismos de coordinación, porque describen a alto nivel
el comportamiento de los agentes y por ello posibilitan la
predicción de las acciones de un agente. Esta
predicción permite que un agente actúe de manera
coherente con las acciones de los demás agentes.

8.4.3 Estrategias: Una estrategia es la
descripción de las acciones de los agentes a un nivel
grueso de detalle, corresponden a abstracciones de los posibles
comportamientos de los agentes y hacen más simple
entender, especificar e implementar agentes inteligentes.

Las estrategias no adicionan habilidades a los agentes,
simplemente ayudan a diseñar, analizar y organizar mejor
las destrezas que los agentes ya poseen. Se puede usar las
estrategias para describir agentes que no tienen un plan
específico, es decir, que no representan ni describen
simbólicamente el conjunto de acciones a seguir; por lo
tanto puede haber estrategias que no correspondan a un plan.

8.4.4Intenciones: Una intención se puede definir
como el objetivo
concreto o el
fin que se pretende alcanzar al realizar una o varias acciones,
este objetivo se puede describir con proposiciones
lógicas. Las metas adoptadas por un agente son las
intenciones (Las metas que un agente decide alcanzar). Se puede
decir que las intenciones son la causa de las acciones de un
agente. Por otro lado, un agente realiza acciones tratando de
seguir sus estrategias (Figura 5).

Estudiar las intenciones es importante, porque de
ellas se deriva la capacidad con la cual los agentes pueden usar
conceptos para predecir y explicar el comportamiento de otros
agentes, además, son muy útiles porque son
abstracciones de los estados y comportamiento de los agentes.

Cuando un agente tiene varias intenciones,
éstas tienen que ser mutuamente consistentes o por lo
menos intentar que así lo sean, y también deben ser
consistentes con el conocimiento y las experiencias adquiridas en
el pasado. Si un agente cree algo (p) o lo conoce por experiencia
del pasado, intentará hacerlo; pero si por el contrario no
cree en él o sabe que algo no es así (-p), no lo
intentará. Las intenciones de dos o más agentes
pueden no ser mutuamente consistentes, ya que pueden estar
compitiendo por algún recurso.Una intención puede
ser confundida con hacer algo intencionalmente, sin embargo, una
intención es querer hacer algo y hacer intencionalmente se
refiere a las acciones y estados que un agente realiza a
propósito. Un agente puede adoptar y modificar sus
intenciones basándose en su conocimiento. No se puede
garantizar el éxito
de las intenciones de un agente si él no tiene el know-how
para alcanzarlas. Por el contrario, si un agente tiene la
intención de hacer algo y tiene el knowhow para hacerlo,
entonces lo hará exitosamente. [Sin93]

Monografias.com

Figura 6. Relación entre estrategias,
metas, intenciones y acciones.

9.
Comunicaciones

Los agentes
cognitivos cuentan con mecanismos de comunicación que les
permiten interactuar con los otros agentes para la
resolución cooperativa de problemas, para la
coordinación o sincronización de acciones, para
resolver
conflictos con
recursos, para participar en una negociación, o
simplemente para enviar información [Lab93]. Uno de los
mecanismos de comunicación entre agentes en SMA es el paso
de mensajes, estos mensajes han sido estudiados ampliamente bajo
la perspectiva de la teoría
de actos de habla [Flo82] con muy buenos resultados. La
comunicación establecida por dos o más agentes
puede ser vista desde varios puntos de vista, algunos de ellos
son explicados a continuación: procesos que
componen el episodio de comunicación, protocolos
utilizados en la comunicación, arquitecturas de
comunicación y tipos de
comunicación.Un episodio típico de
comunicación entre cualquier par de entidades está
compuesto por siete procesos, de ellos tres son realizados por la
entidad emisora E y cuatro por la entidad receptora R.

a). Intención: E decide que hay algo que quiere
comunicarle a R.

b). Generación: E escoge las palabras que
expresan el significado de la proposición p (contenido del
mensaje) que quiere comunicar.

c). Síntesis: Cuando E expresa las
palabras.

d). Percepción: R percibe las palabras,
aunque estas pueden no ser las mismas que el emisor
expresó (las palabras pueden ser alteradas por el medio).
En este paso se puede decir que hubo el "reconocimiento del
acto".

e). Análisis: R infiere los posibles
significados de lo que escuchó, este paso se divide en dos
partes: la interpretación sintáctica y la
interpretación semántica. La segunda parte requiere no
sólo comprensión del significado de las palabras,
sino también incorporar conocimiento o
interpretación pragmática.

f). Escoger un significado: Algunas expresiones pueden
tener varias interpretaciones, pero R se toma el trabajo de
escoger cuál es la interpretación que E
quería transmitir. Este proceso depende del razonamiento
de R, en la que puede tener en cuenta muchos factores como: la
probabilidad de que un hecho ocurra en el mundo, la probabilidad
de que una secuencia particular de palabras sea generada por E,
etc.

g).Incorporación: el receptor puede creer todo
lo que escucha (ingenuo) o puede tomar la decisión de
creer o no y además generar proposiciones adicionales [Rus
et al95] .

Muchas de las características y
propiedades de la comunicación entre agentes, en especial
los protocolos, dependen de los pasos mencionados anteriormente.
Los protocolos de comunicación entre agentes en SMA, son
las reglas que debe seguir un agente para comunicarse con los
demás de manera coherente. Los protocolos permiten
estructurar de manera estándar las interacciones y tienen
la ventaja de llevar a un diseño modular de los agentes,
porque permiten separar el diseño interno del
diseño de la interfaz de comunicación.El protocolo
de interacción de un grupo de agentes se
construye a partir de las posibilidades de respuesta de un agente
a cada uno de los mensajes que recibe. En este documento se
propone manejar estas posibilidades basándose en "La
teoría de actos de habla" o "Speech Acts".La teoría
de actos de habla ha sido muy estudiada en filosofía, antropología, lingüística. etc. y constituye un
fundamento teórico de la comunicación. Su
interés radica en la uniformidad de mecanismos que propone
integrando información de las disciplinas que la estudian.
Un acto de habla puede estar clasificado dentro de las siguientes
tres categorías:

i). Actos de Emisión: Corresponden a la
acción física de emitir
(formular y articular) un enunciado.

ii). Actos Ilocucionarios : Corresponden a enunciados
que llevan una intención, es decir, cuando un emisor
transmite un mensaje con alguna intención (preguntar,
afirmar, solicitar, etc.) y su contenido correspondiente; y este
mensaje es comprendido por el receptor u oyente.

iii). Actos Perlocucionarios : O acciones que ocurren
como resultado de los actos ilocucionarios o de emisión de
manera indirecta o directa [Sin93, Lab93].

Los actos que más interesan en el marco de SMA son los
ilocucionarios. La razón es que tienen dos aplicaciones
importantes en SMA : la primera es que el lenguaje
usado en un SMA para la comunicación debe permitir
diferentes tipos de mensajes, los cuales son asociados con los
diferentes tipos de actos de habla y la segunda es la
intención de utilizar las teorías
lingüísticas de la semántica de actos de habla
para aplicarlas a la descripción de las interacciones
entre agentes. Además, la semántica de actos de
habla permite establecer las condiciones en las que el acto es
exitoso o satisfecho, asignar un operador para cada tipo de
mensaje con el cual se pueda distinguir de los demás
tipos, etc. [Sin93].Algunos actos de habla ilocucionarios son
[Her95]:

i). Afirmar: Un agente está afirmando algo. El
acto es satisfecho si el contenido del mensaje es verdad en el
momento en que es emitido.

ii). Ordenar: Un agente está ordenando algo a
otro u otros agentes. El acto es satisfecho sólo si se
cumple la orden más tarde.

iii). Consultar: Un agente consulta algo a otro u otros
agentes agente. El acto es satisfecho si el agente recibe la
consulta más tarde.

iv). Responder: Un agente responde algo a otro u otros
agentes. El acto es satisfecho si el agente oyente recibe la
respuesta del agente emisor.

v). Prometer: Un agente promete algo. El acto es
satisfecho si el agente cumple la promesa más tarde.

vi).Preguntar: Un agente pregunta algo. El acto es
satisfecho si el o los agentes oyentes reciben la pregunta.

Se pueden definir gran cantidad de actos de
habla, dependiendo del contexto en el que van a ser manejados
[Flo82,Sin 93, Her95].Otro de los puntos de vista desde el que se
puede observar un episodio de comunicación entre dos
agentes es la arquitectura, ella es determinada por la topología lógica
de comunicación entre los agentes. Algunas de las
arquitecturas básicas son:

i). Distribuida en anillo: son agentes forman un anillo
lógico, por medio del cual intercambian mensajes.

ii). Centralizada en estrella : n agentes forman una
estrella lógica por medio de la cual se comunican; uno de
los agentes, que puede ser llamado supervisor, es el que
está situado lógicamente en el nodo de la estrella,
esto significa que es el que recibe y reenvía los
mensajes.

iii).Todos con todos: cada agente tiene
comunicación lógica directa con todos los
demás agentes del sistema.

iv). Híbridas: Estas arquitecturas presentan
combinaciones de varias arquitecturas como la de anillo o la de
estrella [Lab93].

La mayoría de los SMA tienen una arquitectura
híbrida de comunicación, ya que a veces se puede
necesitar que el mensaje llegue a un solo agente y a
través de él comunicárselo a los
demás, o que todos los agentes se comuniquen con todos
directamente. El último de los puntos de vista considerado
en este documento y desde el cual se puede observar un episodio
de comunicación entre agentes es el relacionado con tipos
de comunicación establecida. Un agente puede contar con
funciones de selección que indiquen los agentes a los que
se debe enviar un mensaje. A continuación se describen
brevemente algunos tipos de comunicación.

9.1 Comunicación selectiva o difusa: En la
comunicación selectiva, los agentes destino de los
mensajes son escogidos por medio de alguna función de
selección; en la comunicación difusa o "broadcast",
por el contrario, el mensaje es enviado a todos los agentes.

9.2 Comunicación con o sin espera de
confirmación:
Se dice que existe comunicación
con espera de confirmación, si el agente emisor espera un
mensaje de "acknowledge" de recepción por parte del agente
receptor. Si el agente emisor no espera dicho mensaje de
acknowledge, se dice que existe comunicación sin espera de
confirmación.

9.3 Comunicación de transmisión simple o con
retransmisión :
En la comunicación de
transmisión simple, el emisor transmite sólo una
vez un mensaje, en la comunicación con
retransmisión, el emisor retransmite varias veces un
mensaje [Lab93] .

En un SMA, cada uno de los agentes debe seleccionar el tipo de
comunicación que establecerá de acuerdo a las
características del mensaje que comunicará y a las
características del grupo de agentes a los que
enviará tal mensaje. Por ejemplo, si se desea comunicar un
mensaje de gran importancia, se debería establecer una
comunicación con espera de confirmación, de esta
manera se garantizaría la recepción de tal
mensaje.

En la figura 4 se indica el esquema gráfico del
funcionamiento de un agente, integrando los aspectos que acaban
de ser descritos. Una vez decididas las metas locales, algunas de
ellas son adoptadas por el agente como intenciones y a partir de
ellas, cada agente realiza la planificación. Es decir,
cada agente crea su propio plan de actividades [Lab93, Sin93].
Luego de tener el plan de acción, un agente ejecuta cada
una de las acciones que componen tal plan, de acuerdo con su
experiencia y conocimiento. Claro que este plan de actividades
puede cambiar porque se obtiene nueva información del
ambiente.

Monografias.com

Figura 7. Esquema del funcionamiento de un
agente.

10. Arquitecturas
para agentes inteligentes

Una arquitectura permite descomponer un sistema computacional
en componentes más pequeños y determinar como es la
relación entres estos. Una arquitectura para agentes en
particular permite descomponer un sistema de agentes, y
determinar como deben interactuar entre ellos y con el
ambiente.

Se distinguen tres arquitecturas diferentes que se clasifican
según el modelo de razonamiento que utilizan.

10.1 Arquitecturas deliberativas

Una arquitectura deliberativa es aquella en la que el
comportamiento y conocimiento de los agentes están
explícitamente representados mediante un modelo
simbólico. El modelo simbólico consta generalmente
de un conjunto de símbolos físicos, es decir un
conjunto físicamente realizable de entidades y
estructuras. Además de esto en la arquitectura
deliberativa las decisiones de los agentes son hechas mediante
razonamiento lógico o seudo lógico.

Para construir una arquitectura deliberativa se deben
solucionar los siguientes dos problemas.

. Trasladar el mundo real a una acertada y suficiente
descripción simbólica.

. La forma en la que se representará
simbólicamente la información de las entidades y
procesos complejos del mundo real, y la manera de conseguir que
los agentes razonen con esta información.

Un ejemplo de agentes que se pueden desarrollar con la
arquitectura deliberativa, son los agentes intencionales en los
cuales se define una planificación teniendo en cuenta sus
creencias y deseos. La arquitectura BDI es una de las
arquitecturas más utilizada en nuestros días, en
ella se definen los deseos, creencia e intenciones de los agentes
[CORC 1999].

 

10.2 Arquitecturas reactivas

Una arquitectura reactiva es aquella que no incluye alguna
clase central
de modelo simbólico del mundo y no usa un razonamiento
simbólico complejo. Las acciones que toman sus entidades
se basan en una asignación de lectura del
medio ambiente
con una operación a efectuar. Esta clase de arquitectura
también es llamada alternativa, ya que surgió como
una opción a las arquitecturas deliberativas que presentan
problemas que en ocasiones no se pueden solucionar y
además se aleja de la representación del
conocimiento mediante un modelo simbólico.

10.3 Arquitecturas Híbridas

Los investigadores sugieren que ninguna de las dos
arquitecturas vistas anteriormente es del todo apropiada para la
construcción de agentes, por eso se
plantean soluciones de arquitecturas híbridas en la cual
se integran los dos métodos (deliberativa y reactiva).

Una propuesta de tal arquitectura es la construcción en
base a dos subsistemas: uno deliberativo en el cual los planes
desarrollados y las decisiones hechas sean planteadas por un
conjunto de símbolos y uno reactivo el cual tenga la
capacidad de reaccionar ante eventos del entorno sin emplear
razonamiento complejo. Esta clase de metodología se puede desarrollar en capas
en la que una o más capas pueden tener acceso a los datos
suministrados por el entorno y una o más capas pueden
efectuar acciones en el entorno. A continuación se
presentan dos clases en la que esta propuesta de arquitectura
híbrida se puede desarrollar.

. Horizontal: Todas las capas tienen acceso a los datos del
entorno y a realizar acciones en el entorno.

. Vertical: Una capa tiene accesos a los datos del entorno y a
realizar acciones en el entorno.

En este caso de arquitectura en capas, el correcto
comportamiento del agente viene dado por la interacción
entre los diferentes niveles y en el nivel de información
de cada capa.

11. Estructura de
un Agente

Agente = Arquitectura +
Programa

 

Podemos describir agentes en términos de sus
percepciones, acciones, metas y ambiente.

No importa tanto si es ambiente “real'' o “artificial''
(e.g., softbots) sino la interacción entre
percepción, comportamiento, ambiente y metas.

El usar una tabla acciones – secuencia de percepciones en
general no es adecuada por:

Requiere tablas muy grandes mucho tiempo para construir la
tabla no hay autonomía, por lo que si cambia el ambiente
el agente deja de saber que hacer aunque se le de aprendizaje,
necesitaría mucho tiempo para aprender todas las entradas
de la tabla

Para construir un mapeo entre percepciones y acciones podemos
pensar en varios tipos de agentes.

Agentes de reflejos simples: construir una tabla es
imposible, pero podemos considerar algunas asociaciones comunes
en términos de reglas
situación-acción. e.g.,

IF el coche de enfrente esta frenando

THEN empieza a frenar

Agentes de reflejos simples y estado interno. Esto es
muy simple, y normalmente se necesita un estado interno para (i)
ver como cambia el ambiente independientemente del agente y (ii)
como afectan las acciones del agente al ambiente.

Agentes con información de metas. El agente
necesita información de sus metas para escoger que
acciones las pueden cumplir (pueden usarse técnicas de
búsqueda y planificación).

Esto lo puede hacer más flexible (e.g., si está
lloviendo ajustar la efectividad de los frenos).

Agentes con medida de utilidad. Las metas por si
solas no son suficientes para generar un comportamiento de buena
calidad. Para
esto necesitamos una medida de utilidad
(función que mapea un estado o secuencia de estados con un
número real).

Agentes con aprendizaje. La idea es que las
percepciones no se usen solo para actuar, sino también
para mejorar su desempeño en el futuro.

12.
Clasificación de los agentes
inteligentes

. Movilidad.

. Arquitectura de construcción

. Atributos principales

. Roles

. Híbridos y Heterogéneos

 

12.1 Clases de agentes inteligentes

12.1.1 Agentes colaborativos

Este tipo de agentes se enfatiza en la autonomía y las
habilidades sociales con otros agentes para ejecutar las tareas
de sus usuarios. La coordinación de los agentes se logra
mediante la negociación para alcanzar acuerdos que sean
aceptables para los agentes negociantes.

Los agentes colaborativos son capaces de actuar racionalmente
y autónomamente en ambientes multiagente y con
restricciones de recursos. Otras características de estos
agentes es que poseen habilidades sociales, son proactivos,
benévolos, estáticos y veraces.

Los agentes colaborativos se pueden utilizar es la
solución de algunos de los siguientes problemas:

. Para resolver problemas que son muy grandes para un agente
centralizado.

. Para permitir la interconexión e interoperabilidad de
sistemas de IA existentes como sistemas
expertos, sistemas de soporte de decisión etc.

. Solucionar problemas que son inherentemente
distribuidos.

. Proporcionar soluciones que simulen recursos de
información distribuidos.

. Incrementar la modularidad, velocidad,
confiabilidad, flexibilidad y reutilización en sistemas de
información.

 

12.1.2 Agentes de Interfase

Los agentes de interfaz se enfatizan en la autonomía y
la adaptabilidad para realizar tareas a sus usuarios. Este tipo
de agentes básicamente presta soporte y asistencia a un
usuario que esta aprendiendo una nueva aplicación o nuevos
conceptos.

El agente puede aprender mediante alguna de las siguientes
cuatro técnicas, observando y monitoreando la
interfaz:

1. Por observación e imitación del
usuario.

2. A través de una retroalimentación positiva o negativa del
usuario.

3. Recibiendo instrucciones explicitas del usuario.

4. Asesorándose de otros agentes.

De esta manera el agente puede actuar como un asistente
personal y
autónomo del usuario, cooperando con él para
terminar una cierta tarea.

 

12.1.3 Agentes móviles

Estos agentes se enfatizan en las habilidades sociales y la
autonomía, a diferencia de los agentes cooperativos, estos
son móviles.

Los agentes móviles son procesos de software que son capaces de
transitar por una red, generalmente una WAN, interactuando con
computadores alejados, reuniendo información para el
usuario y volviendo a su origen cuando las tareas fijadas por el
usuario se hayan completado. Las tareas que se pueden realizar
son por ejemplo reservaciones de vuelos, manejo de una red de
telecomunicaciones entre otras.

Los agentes móviles traen con si grandes beneficios
aunque no son funcionales, esto quiere decir que una tarea que
realiza un agente móvil puede ser realizada por un agente
colaborativo, la diferencia radica en que para movilizar el
agente se requiere de un costo muy alto de
recursos.

Algunas de las ventajas que se pueden obtener al usar agentes
móviles son:

. Reducen el costo de comunicación, por ejemplo cuando
en una ubicación hay un gran volumen de
información que necesita ser examinada y transmitida, esto
ocuparía una gran cantidad de recursos en la red y
consumiría mucho tiempo. En este caso el agente
móvil puede determinar la información relevante al
usuario y transmitir un resumen comprimido de esta
información.

. Facilitar la coordinación, es más sencillo
coordinar un cierto número de requerimientos remotos e
independientes al comparar solo los resultados localmente.

. Reduce los recursos locales, los agentes móviles
pueden ejecutar sus tareas en computadores diferentes del local,
de tal manera que no consuman recursos de procesamiento, memoria
y almacenamiento en
estos.

. Computación asíncrona, mientras que un agente
móvil realiza su tarea el usuario puede ir realizando
otra, de tal manera que después de un tiempo el resultado
del agente móvil sea enviado al usuario.

 

12.1.4 Agentes de información

Los agentes de información nacieron debido a la gran
cantidad de herramientas
que surgieron para el manejo y recuperación de
información. Los agentes de información tienen los
roles de manejar, manipular, e integrar información de
muchas fuentes de
datos distribuidas.

La hipótesis fundamental de los agentes de
información es que puedan mejorar de algún modo,
pero no completamente el problema de la sobrecarga de
información y en general el manejo de esta.

13. SISTEMAS
MULTI-AGENTE

Un SMA está constituido por un conjunto de entidades
inteligentes llamadas agentes que coordinan sus habilidades para
la resolución de problemas individuales o globales. Estos
sistemas considerados como un todo, exhiben
características particulares, que se presentan a
continuación.13.1 Organización Social

Es la manera como el grupo de agentes está constituido
en un instante dado. La organización social está
relacionada con la estructura de los componentes funcionales del
sistema, sus características, sus responsabilidades, sus
necesidades y la manera como realizan sus comunicaciones. Esta organización puede ser
estática o dinámica, dependiendo de las unciones o
tareas de cada agente. Se puede considerar que una sociedad de
agentes está constituida por tres elementos:

Un grupo de agentes.

Un conjunto de tareas a realizar.

Un conjunto de recursos.

La realización de las tareas por parte de los agentes,
puede ser organizada de varias formas, por ejemplo: cada agente
ejecuta una de las tareas, o bien, las tareas son divididas en
subtareas, por medio de algún mecanismo de
descomposición de problemas y estas subtareas son las
realizadas por los agentes. Las tareas que debe realizar un
agente dependen, entre otros factores, del rol que este agente
asume en el sistema. Por ejemplo, en un sistema oficina, un
agente persona asume el
rol de secretaria y realiza las labores relacionadas con ese rol;
este mismo agente podría asumir el rol de jefe y
realizaría labores muy diferentes, relacionadas con su
nuevo rol. Para la realización de tareas un agente puede
necesitar recursos del sistema, en este caso tiene que
coordinarse con los otros agentes del sistema que deseen usar el
mismo recurso.La organización en los SMA depende del tipo
de comunicación y el modo de cooperación entre
agentes, así como del tipo de agentes que conforman el
grupo. En general se pueden distinguir tres tipos de
configuraciones organizacionales:

a). Estructura Centralizada: En este tipo de
configuración existe un agente que controla la
interacción de los demás agentes del sistema,
porque tiene la información o la funcionalidad para
hacerlo.

b). Estructura Horizontal: Este tipo de
configuración existe cuando todos los agentes que integran
un sistema están al mismo nivel, es decir, no hay
ningún agente que haga las veces de maestro o supervisor,
ni tampoco agentes esclavos.

c). Estructura Jerárquica: Esta
configuración existe cuando los agentes trabajan
diferentes niveles de abstracción de un problema, es
decir, la configuración es de niveles. En un mismo nivel
se establece una configuración horizontal, si hay
más de un agente. Para resolver un problema cada agente
divide el problema en subproblemas que él puede resolver,
subproblemas que puede resolver con la cooperación de los
agentes que están al mismo nivel y subproblemas que sabe
que los agentes de niveles inferiores de la jerarquía
pueden resolver.

d). Estructura "ad hoc" : Esta configuración
puede ser una mezcla de las tres anteriores, se caracteriza
porque la dinamicidad de la estructura está regida por el
ajuste mutuo entre los pequeños grupos de agentes en el
sistema.

Escoger una u otra estructura de
organización depende de las funciones que deben cumplir
los agentes del sistema, de las características de ellos y
de qué tan complejo se quiere el sistema [Lab93].13.2
Cooperación

En un SMA existen dos tipos de tareas que deben ser
realizadas: las tareas locales y las tareas globales. Las tareas
locales son las tareas relacionadas con los intereses
individuales de cada agente y las tareas globales son las tareas
relacionadas con los intereses globales del sistema. Estas tareas
globales son descompuestas y cada subtarea es realizada por un
agente, de acuerdo a sus habilidades y bajo el supuesto de que la
integración de la solución de las subtareas,
llevará a la solución global. La
descomposición de la tarea global no necesariamente
garantiza la independencia
de cada una de las subtareas, por ello se necesitan mecanismos de
cooperación que permitan compartir resultados intermedios
que lleven al progreso en la resolución de las tareas de
otros agentes y al progreso de la solución global que debe
alcanzar el sistema.Para que los agentes puedan cooperar de
manera eficiente, cada uno de ellos debe tener ciertas
características:

Tener un modelo bien definido del mundo, que le permite
localizar a los demás agentes, saber cómo
comunicarse con ellos, qué tareas pueden realizar,
etc.

Poder integrar información de otros agentes con la
suya, para formar conceptos globales o conocimiento conformado
por varios agentes.

Poder interrumpir un plan que se este llevando a cabo para
ayudar o atender a otros agentes para que puedan cooperar entre
sí cuando los agentes lo necesiten.

La cooperación depende mucho de la
configuración organizacional del grupo de agentes. Si la
estructura es centralizada los agentes dependientes piden
colaboración casi que permanente al agente maestro, si la
estructura es jerárquica, la cooperación puede
hacerse por niveles (en un mismo nivel) o de niveles superiores a
niveles inferiores y si la estructura es horizontal la
cooperación se hace entre todos los agentes. Existen
varios modelos de
cooperación, dentro de los cuales se pueden mencionar:

a). Cooperación compartiendo tareas y
resultados:
Los agentes tienen en cuenta las tareas y los
resultados intermedios de los demás para realizar las
tareas propias.

b). Cooperación por delegación: Un agente
supervisor o maestro descompone una tarea en subtareas y las
distribuye entre los agentes esclavos, para que sean resueltas.
Después, el supervisor integra las soluciones para hallar
la solución al problema inicial.

c). Cooperación por ofrecimiento: Un agente
maestro descompone una tarea en subtareas y las difunde en una
lista a la que tienen acceso los agentes que integran el sistema,
esperando que ellos ofrezcan su colaboración de acuerdo a
sus habilidades. El supervisor escoge entre los ofrecimientos y
distribuye las subtareas [Lab93] .

13.3 Coordinación

La coordinación entre un grupo de agentes les permite
considerar todas las tareas a realizar y coordinarlas para no
ejecutar acciones no deseables, por ejemplo:

Los agentes no generen y comuniquen subsoluciones que lleven
al progreso en la solución de un problema.

Los agentes generen y comuniquen resultados redundantes.

Distribución inapropiada de la carga de trabajo entre
los agentes.

Esta coordinación está relacionada con la
planificación de acciones para la resolución de
tareas, porque estos planes permiten:

Conocer a alto nivel y predecir el comportamiento de otros
agentes del sistema.

Intercambiar resultados intermedios que lleven al progreso en
la solución a la tarea global.

Evitar acciones redundantes, si ellas no son deseables.

Hay varios modelos de coordinación de acciones entre
agentes, pero dos principales (que se mencionan a
continuación) y gran cantidad de modelos intermedios.

a). Coordinación Global: Cuando el SMA determina
y planifica globalmente las acciones de los diferentes
agentes.

b). Coordinación Individual: Cuando el SMA le da
completa autonomía a los agentes, es decir, cada agente
decide qué hacer y resuelve localmente los conflictos que
detecte con otros agentes.

Además de los modelos existen dos tipos de
coordinación :

c). Coordinación orientada por los problemas: En
este tipo de coordinación, los agentes deben coordinar los
planes de realización de acciones para prevenir
interbloqueos, repetición de acciones y creación de
inconsistencias.

d). Coordinación orientada por la
cooperación:
En este tipo de coordinación los
agentes no se coordinan a nivel de planes, sino a nivel de
acciones. Esto significa que los agentes se coordinan en el
momento de ejecutar acciones [Lab93].

13.4 Negociación

Para que los mecanismos de cooperación y
coordinación sean exitosos en un sistema de agentes que
actúan interdependientemente, debe existir un mecanismo
adicional, por medio del cual, los integrantes de un sistema se
puedan poner de acuerdo cuando cada agente defiende sus propios
intereses, llevándolos a una situación que los
beneficie a todos teniendo en cuenta el punto de vista de cada
uno. Este mecanismo es llamado negociación [Her95,
Lab93].Los procesos de negociación tienen como resultado
la modificación o confirmación de las creencias de
cada agente involucrado, en lo relacionado con los demás
agentes y con el mundo en el que se desenvuelve. La
negociación se puede mirar bajo una perspectiva racional,
la cual describe la negociación como un proceso de seis
pasos [Her95]:

Definir el problema.

Identificar aspectos.

Ponderar criterios.

Generar alternativas.

Evaluar alternativas.

Formular solución.

En los SMA la mayoría de las veces el
problema está bien definido, es decir, el primer paso no
es relevante. Los demás pasos se pueden o no seguir,
dependiendo del problema para el cual un grupo de agentes busca
una solución [Nea et al 92].Los mecanismos de
negociación utilizan diferentes reglas en lo relacionado
con la distribución de recursos del sistema
[Alb92,Baz93,Her95,Nea et al 92,Rai82]:

Regla equitativa: consiste en dividir los recursos disponibles
en proporción a los aportes de cada miembro de grupo.

Regla igualitaria: establece una distribución de
recursos en partes iguales para todos los miembros.

Regla según las necesidades: consiste en la
distribución de acuerdo a las necesidades individuales de
cada miembro del grupo.

Regla según el pasado: rige la distribución
siguiendo patrones o experiencias en negociaciones pasadas.

Hay otro tipo de reglas usadas en negociación,
relacionadas con la toma de
decisiones [Her95] :

a). Consenso o unanimidad: Una decisión es
tomada cuando todos los miembros de un grupo están de
acuerdo con dicha decisión. Es muy posible que se llegue a
esto después de negociar varias veces la
decisión.

Mayoría: Una decisión es tomada cuando la
mayoría de los miembros de un grupo está de acuerdo
con dicha decisión. La definición de
"mayoría" depende del sistema y se puede relacionar con el
número de votos a favor de una decisión o con el
peso de tales votos.

La negociación se caracteriza por tener los siguientes
elementos:

Un número adecuado de agentes involucrados en el
proceso.

Un conjunto minimal de acciones que se llevan a cabo en el
proceso, como: proponer, evaluar, refutar, contraproponer,
aceptar, rechazar, modificar, etc. [Lab93]. Este conjunto es
llamado lenguaje: "El principal componente de la
negociación como actividad social es el lenguaje" [Her95].
Este conjunto de acciones puede ser visto como un conjunto de
actos de habla con una lógica y una semántica
especial, en [Her95] se propone un lenguaje para
negociación, basado en actos de habla.

Para que una negociación sea exitosa es
necesario un protocolo que facilite y en lo posible garantice la
convergencia de ideas a una solución común. Un
protocolo establece un conjunto de pasos que debe seguir un
proceso de negociación, así como las posibles
respuestas de un agente, a las acciones de otro agente.Un ejemplo
simple de protocolo de negociación entre dos agentes A y B
es el siguiente :1. A lanza una propuesta.

2. B evalúa esta propuesta y determina si es buena para
él.

3. Si la propuesta de A satisface a B, el proceso termina. De
lo contrario, B debe lanzar una contrapropuesta con sus
argumentos.

 

4. Si A considera que los argumentos de B son buenos, el
proceso termina. Si no se logran poner de acuerdo, se necesita la
intervención de un tercer agente que tenga en cuenta los
puntos de vista de ambos y tome una decisión [Lab93].

En este documento se exponen brevemente algunos de los temas
relacionados con la negociación. Para explicaciones
detalladas se recomienda ver [Her95].

13.5 Control

El control es el mecanismo básico que provee apoyo para
la implementación de mecanismos de coordinación en
un SMA. El control se relaciona directamente con:

Determinar cuáles son las subtareas más
importantes a realizar en un momento dado.

Determinar qué contexto (resultados intermedios de
otros agentes) deben ser usados en la solución de una
subtarea.

Estimar el tiempo de generación de la solución a
una subtarea.

Evaluar si la solución de un problema ha sido generada.
(Problema de la terminación).

El control puede ser considerado desde dos puntos de vista:
control global y control local. El control global se relaciona
con tomar decisiones basándose en datos obtenidos y
consolidados a partir de la información de todos los
agentes del sistema, el control local se relaciona con tomar
decisiones basándose solo en datos locales. Estos dos
controles deben ser balanceados por varias razones:

El aumento del poder de control local lleva a que los agentes
actúen eficientemente desde el punto de vista "rapidez en
la toma de decisiones y en la ejecución de tales
decisiones". Pero, se puede llegar a la pérdida de
mecanismos de cooperación efectivos y como consecuencia a
la realización de tareas no deseables.

El aumento del poder del control global lleva a aumentar los
costos de
computación del sistema, porque la información de
los agentes cambia dinámicamente, como consecuencia para
mantener información global coherente, se deben revisar e
incorporar constantemente los cambios en cada uno de los
agentes.

Para mantener el balance entre el control global y el control
local, los componentes del control local de cada agente
deben:

Proveer al control cooperativo una descripción de su
estado actual y actividades esperadas.

Interactuar con el control cooperativo para modificar las
actividades locales y estar más "inline" con las
necesidades de los otros agentes.

Ser suficientemente sofisticado en la toma de decisiones de
manera que pueda tolerar cierto nivel de error en el control
cooperativo.

En [Les91] se presentan algunos mecanismos y
estrategias para la implementación del control en un SMA.
El mecanismo básico propuesto es la creación y
manejo de estructuras que puedan acceder todos los agentes y en
las que se representen organicen e integren, a alto nivel, las
metas globales locales del sistema. Cada una de estas metas se
relaciona con la intención de realización de alguna
tarea. La estructura global de metas no necesita ser totalmente
desarrollada para la resolución distribuida de problemas,
la estructura puede ser construida a medida que la
solución del problema progresa.Para poder manejar estas
estructuras de objetivos, los agentes que integran el SMA deben
tener la habilidad de transmitir sus estructuras locales de
metas. La transmisión de las metas puede indicar a los
otros agentes qué tipo de información es más
necesaria para el desarrollo de una solución. Por otro
lado, la generación de submetas a partir de las metas
facilita la generación de resultados intermedios que
lleven a la satisfacción de la meta inicial. De esta
forma, la incertidumbre en el control cooperativo se disminuye
porque más información es generada y comunicada.
Sin embargo, la comunicación de estructuras de metas
genera costos adicionales de comunicación en el sistema.A
partir de la información de la estructura de metas se debe
decidir cuáles son las metas de mayor importancia, para su
realización. Para ello es importante distinguir entre la
creencia local en un resultado parcial (creencias) y la
importancia de incorporar tal resultado en una solución
(evaluación global de la importancia de un resultado). La
evaluación local de la importancia de metas externas,
determina el balance entre responder a las necesidades de otros
agentes y a las propias. La escogencia del balance preciso
depende de como los agentes desde su perspectiva local juzguen
sus resultados parciales y la importancia de sus metas desde una
perspectiva cooperativa.

Entre las estrategias para la
implementación de los mecanismos de control se mencionan
[Les91]:

Metacontrol estático asociado con la estructura
organizacional de un sistema : Para alcanzar una
resolución cooperativa óptima es necesario eliminar
la incertidumbre que se genera de manera natural en un sistema
distribuido, dado que no se cuenta en todo momento con la
información actualizada de cada uno de los componentes del
sistema. Esto implica que cada decisión debe ser
reevaluada constantemente a la luz de la nueva
información generada. Pero esto es bastante costoso desde
el punto de vista de procesamiento y comunicaciones.

Otra opción, que no requiere reevaluación
constante y por ello es menos costosa, es tomar decisiones de
control cooperativo por medio de un proceso de decisión de
dos niveles. Un nivel llamado nivel de diseño
organizacional, se refiere a decisiones estratégicas
que no necesitan ser constantemente reevaluadas para obtener un
desempeño razonable. El otro nivel, llamado nivel de
agente, se refiere a decisiones tácticas que son
constantemente reevaluadas. El nivel de diseño
organizacional define políticas
a largo plazo que pueden ser usadas al nivel de agente para
restringir el conjunto de escogencias o información que
debe ser evaluado para tomar decisiones. Estas políticas
definen la estructura organizacional del sistema distribuido para
resolución de problemas. De alguna manera la estructura
organizacional representa decisiones precomputadas acerca de la
estructura de metas de cada agente. Para diferentes aspectos de
control cooperativo, las políticas individuales
especifican estrategias globales a largo plazo que pueden ayudar
a la solución coherente de problemas entre agentes. Las
políticas guían y restringen las decisiones de
control local para que ellas estén de acuerdo con la
estrategia global. Una forma cruda de conocimiento organizacional
compilado puede ser implementada por medio de la
especificación de áreas de interés asociadas
con cada agente.

Metacontrol dinámico asociado con la planeación
global parcial : Es claro que para que los agentes cooperen de
manera efectiva necesitan una vista razonablemente precisa de la
estructura de metas de otros agentes. Ellos necesitan ser capaces
de reconocer y anticipar dónde hay interacción o
subproblemas redundantes, cuándo planear trabajar sobre
los problemas, qué tan difíciles son los problemas
y la flexibilidad que tiene el agente para reasignar sus
actividades. Un conjunto de preguntas interrelacionadas se
derivan de manera natural : qué aspectos dinámicos
de la estructura de metas son importantes, qué tan precisa
debe ser la vista global de metas, qué tanto de la
evolución de la estructura de metas debe
ser capturada. Las propuestas para proveer y operar sobre esta
información son guiadas por dos principios. El
primero se basa en satisfacer la vista del control cooperativo y
en que los agentes no tienen que ser totalmente coherentes en su
comportamiento, este principio es importante en situaciones donde
el control permite reducciones significantes en la cantidad de
cómputo y procesamiento requerido para implementar los
algoritmos de
control cooperativo. El segundo principio es que el control
cooperativo efectivo es consecuencia del control local
sofisticado. Esto es, los agentes deben ser capaces de
representar y razonar no solo sobre sus actividades locales sino
también de acomodarse a los requerimientos de otros
agentes. La propuesta desarrollada en [Les91], llamada
planeación global parcial se basa en la vista de metas a
corto plazo de los agentes. Esta vista también contiene el
orden esperado en el cual los agentes intentarán alcanzar
las metas y estima tiempo y calidad de la solución. Uno
puede considerar esto como un plan de alto nivel para la
resolución local de problemas. Hay una tensión
obvia entre la posibilidad de reasignación de problemas
globales y el grado de predicción en el plan de alto
nivel. A menor predicción, se requiere mayor
comunicación y procesamiento para alcanzar un
comportamiento cooperativo coherente. Los agentes intercambian
esta vista parcial y aumentada de la estructura local de metas
esperada. Por medio de la combinación de fragmentos de
estructuras de metas de diferentes agentes un agente construye
planes de metas globales y parciales. Un agente usa esta
información para comprender cómo sus actividades se
relacionan con otros agentes.

Esta información guía a un agente, para
reorganizar sus metas locales, buscando resultados tales
como:

Explotar los resultados parciales disponibles de otros
agentes.

Proveer resultados parciales que puedan restringir el campo de
búsqueda de la solución a las metas de otros
agentes.

Evitar soluciones redundantes a metas, excepto cuando sea
deseable.

Reevaluar la importancia de alcanzar una meta.

14.
Ambientes

accesibles (los sensores detectan
todos los aspectos relevantes y no se necesitan estados internos)
o inaccesibles

determinísticos (el siguiente estado
está determinado por el actual y las acciones del agente)
o indeterminísticos. En ambientes complejos se
considera un ambiente determinístico o no desde el punto
de vista del agente episódicos (la calidad de la
acción depende solo del episodio) o no
espisódicos estáticos
o
dinámicos (si el ambiente puede cambiar mientras
el agente piensa) o semidinámicos (el
desempeño del agente cambia) discretos
(número limitado y distinguible de percepciones y
acciones) o continuos

Los agentes son capaces de intercambiar y compartir
información / conocimiento (metas y soluciones parciales),
representar la información desde puntos de vista
diferentes, y cooperar para llegar incrementalmente a una
solución.

Cuando tienen metas comúnes o que se traslapan, deben
de actuar en forma cooperativa.

Si tienen metas con conflictos, deben de competir
inteligentemente.

Su protocolo de comunicación a veces involucra “actos
de habla'' (speech acts) que reflejan creencias,
intenciones, etc., de los agentes.

DAI es apropiado cuando se tiene distribuída: la
experiencia y el diseño, la información (e.g.,
oficina), los datos (e.g., sensores), las decisiones (e.g.,
control de manufactura),
las bases de conocimiento se desarrollan independientemente y
pueden interconectarse y reutilizarse.

Caracteristicas de arquitecturas distribuídas:

concurrencia

procesamiento asíncrono

indeterminismo

influencia restringida de cada agente (i.e., modularidad y
encapsulamiento de agentes)

control decentralizado

negociación entre agentes

habilidad de manejar información inconsistente

evolución continua

Elementos que se distribuyen:

acciones

foco de atención

autoridad/responsabilidad

credibilidad

confiabilidad

interpretación

conocimiento

percepción

recursos

evaluación

trabajo

Ejemplo: Se tiene una ficha roja (R) y 4 azules (A1, A2, A3,
A4) en un tablero de NxN. El propósito del juego es
capturar a la ficha roja.

Reglas:

En cada paso, cada ficha puede quedarse donde está o
moverse hacia arriba, abajo, izquierda o derecha

Los azules ganan si ocupan los 4 cuadros alrededor del
rojo

Los azules pierden si el rojo llega a un borde

En general, cada agente tiene una representación
interna (que puede ser parcial o incorrecta) del problema que
puede diferir de la de los otros agentes, e.g.,

 

1. Cada Ai puede tratar de ocupar un punto que rodea a R. Por
si solo cada agente no resuelve el problema original, pero en
conjunto si lo solucionan

2. Un agente es el que controla y el resto son sus esclavos.
En este caso, solo el que controla debe de conocer el problema,
el resto solo sigue órdenes y pueden no tener representado
nada

15. Esquemas de
Control

a) Control central

Un agente (A1) controla todo y ordena a los demas (A2, A3 y
A4) que hacer.

Algoritmo:

1. A1 ve la posición de R y de los Aks

2. A1 calcúla cuadrantes y asigna uno por
agente (dependiendo de su posición)

3. A1 dice como moverse para entrar a los cuadrantes

4. Los esclavos se mueven

Para determinar los movimientos:

IF R no se mueve, moverse más cerca a R

IF R se mueve (a un cuadrante) entonces:

si se mueve junto a Ak, Ak no se mueve

un Ak se debe de mover para permanecer en su cuadrante

El agente en el cuadrante opuesto debe de seguir a R los
otros, se deben de mover perpendicularmente a R y dentro de su
cuadrante

Requerimientos:

A1 debe de saber la posición de R y de los Aks todo el
tiempo

A1 debe de poder calcular cuadrantes

A1 sabe que comandos obedecen
los Aks y sabe como comunicarlos

A1 puede calcular movimientos adecuados

Los esclavos deben de percibir comandos (no necesitan reportar
nada, porque A1 sabe todo el tiempo su posición)

b) Control central + agentes con percepción

Ahora los agentes pueden percibir su posición y se la
reportan a A1 el cual debe de poder combinarla para decidir como
actuar.

c) Control central + agentes buscan a R

Todos los agentes tienen la capacidad de detectar la
posición de R dentro de un rango limitado.

Variación al algoritmo:

1. cada Ak informa su posición

2. A1 asigna una región a cada Ak

3. A1 comanda que cada Ak “patrulle'' su región

4. Cada Ak busca a R y si lo detecta le informa a A1

Requerimientos:

A1 sabe el rango de visibilidad de cada Ak y puede calcular su
región de patrullaje

Los esclavos pueden transmitir la posición de R al
controlador

d) Control central con comandos abstractos

Los agentes pueden ejecutar comandos más complejos por
si solos e.g, patrullar, ir a su región designada,
acercarse al rojo
, por lo que tienen cierta
planeación limitada

A1 no necesita saber las acciones de los Aks

A1 debe de calcular los comandos de alto nivel para los
esclavos y los de bajo nivel solo para él.

El esclavo puede ahora transmitir su posición solo
cuando se le pide o cuando se mueve a una nueva
región.

e) Control distribuido

Todos los agentes pueden participar en las decisiones
globales. Una simplificación es que cada agente comunica
toda su información a los otros agentes y todos usen el
mismo método global para decidir que tareas hacer.

Algoritmo:

todos los agentes dan su posición a los otros

cada agente calcula la asignación global de agentes a
regiones para patrullar y sigue su propia tarea

el que detecta a R lo anuncia

cada agente calcula los cuadrantes y se va al que le
corresponde

Requerimientos:

cada agente anuncia a los otros

cada agente calcula una asignación global (siempre
viendo lo óptimo desde una perspectiva global)

f) Control distribuído + agentes
individuales

Los agentes calculan sus costos locales (información
local) pero tratan de optimizar sobre estimaciones globales.

Se asume que los agentes son “honestos''.

Algoritmo:

cada agente estima su propio costo de ocupar diferentes
regiones en el tablero

cada agente anuncia su estimación a los otros
agentes

cada agente hace una estimación global

Requerimientos: cada agente estima su costo y puede determinar
una asignación global dado un conjunto de estimaciones

Se necesita tener una representación (preferiblemente
explícita) de lo que saben los agentes y de sus
capacidades.

Que se requiere especificar:

los estados del ambiente y de los agentes

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter